package net.xxhong.rosclient;

/**
 * @包名: cn.krund.hotlerobot.android_hotlerobot.activity.test
 * @作者: 刘育成
 * @时间: 2018/4/18  10:32
 * @org: 克路德人工智能
 * @描述: TODO
 * @fileName: WriteStreamAppend
 */


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.util.ArrayList;
import java.util.List;


/**
 * 描述：追加内容到文件末尾
 *
 * @author Administrator
 */
public class WriteStreamAppend {

    /**
     * 追加文件：使用RandomAccessFile
     *
     * @param fileName 文件名
     * @param content  追加的内容
     */
    public static void method3(String fileName, String content) {
        try {
                // 打开一个随机访问文件流，按读写方式
                RandomAccessFile randomFile = new RandomAccessFile(fileName, "rw");
                // 文件长度，字节数
                long fileLength = randomFile.length();
                // 将写文件指针移到文件尾。
                randomFile.seek(fileLength);
                randomFile.write(content.getBytes());
                randomFile.write("\n".getBytes());
                randomFile.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 根据行读取内容
     *
     * @return
     */
    public static List<String> Txt(String fileName) {
        //将读出来的一行行数据使用List存储
        String filePath = fileName;

        List newList = new ArrayList<String>();
        try {
            File file = new File(filePath);
            int count = 0;//初始化 key值
            if (file.isFile() && file.exists()) {//文件存在
                InputStreamReader isr = new InputStreamReader(new FileInputStream(file));
                BufferedReader br = new BufferedReader(isr);
                String lineTxt = null;
                while ((lineTxt = br.readLine()) != null) {
                    if (!"".equals(lineTxt)) {
                        String reds = lineTxt.split("\\+")[0];  //java 正则表达式
                        newList.add(count, reds);
                        count++;
                    }
                }
                isr.close();
                br.close();
            } else {
//                KrundLog.e("lyc::file:::", "can not find file");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return newList;
    }


}
